Add tests for the GtkDialog builder parser
authorMatthias Clasen <mclasen@redhat.com>
Sun, 26 Apr 2015 19:03:03 +0000 (15:03 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 27 Apr 2015 05:15:23 +0000 (01:15 -0400)
testsuite/gtk/Makefile.am
testsuite/gtk/ui/dialog1.expected [new file with mode: 0644]
testsuite/gtk/ui/dialog1.ui [new file with mode: 0644]
testsuite/gtk/ui/dialog2.expected [new file with mode: 0644]
testsuite/gtk/ui/dialog2.ui [new file with mode: 0644]
testsuite/gtk/ui/dialog3.expected [new file with mode: 0644]
testsuite/gtk/ui/dialog3.ui [new file with mode: 0644]
testsuite/gtk/ui/dialog4.expected [new file with mode: 0644]
testsuite/gtk/ui/dialog4.ui [new file with mode: 0644]
testsuite/gtk/ui/dialog5.expected [new file with mode: 0644]
testsuite/gtk/ui/dialog5.ui [new file with mode: 0644]

index 2700ff02d689cb1de9b4deb243eae286e0289698..e4f4f6f672be5ee8978decac6bd392454d2c354b 100644 (file)
@@ -198,6 +198,12 @@ test_ui =                                          \
        ui/levelbar4.ui ui/levelbar4.expected           \
        ui/levelbar5.ui ui/levelbar5.expected           \
        ui/levelbar6.ui ui/levelbar6.expected           \
+       ui/dialog1.ui ui/dialog1.expected               \
+       ui/dialog2.ui ui/dialog2.expected               \
+       ui/dialog3.ui ui/dialog3.expected               \
+       ui/dialog4.ui ui/dialog4.expected               \
+       ui/dialog5.ui ui/dialog5.expected               \
+       ui/dialog6.ui ui/dialog6.expected               \
        $(NULL)
 
 EXTRA_DIST +=                          \
diff --git a/testsuite/gtk/ui/dialog1.expected b/testsuite/gtk/ui/dialog1.expected
new file mode 100644 (file)
index 0000000..ff43ca4
--- /dev/null
@@ -0,0 +1 @@
+SUCCESS
diff --git a/testsuite/gtk/ui/dialog1.ui b/testsuite/gtk/ui/dialog1.ui
new file mode 100644 (file)
index 0000000..ee2f4c5
--- /dev/null
@@ -0,0 +1,17 @@
+<!-- test all valid dialog markup -->
+<interface>
+  <object class="GtkDialog">
+    <child type="action">
+      <object class="GtkButton" id="button_cancel"/>
+    </child>
+    <child type="action">
+      <object class="GtkButton" id="button_ok">
+        <property name="can-default">True</property>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-3">button_cancel</action-widget>
+      <action-widget response="ok" default="true">button_ok</action-widget>
+    </action-widgets>
+  </object>
+</interface>
diff --git a/testsuite/gtk/ui/dialog2.expected b/testsuite/gtk/ui/dialog2.expected
new file mode 100644 (file)
index 0000000..a9a3199
--- /dev/null
@@ -0,0 +1,2 @@
+ERROR: g-markup-error-quark 6
+.:10:23 element 'action-widget' requires attribute 'response'
diff --git a/testsuite/gtk/ui/dialog2.ui b/testsuite/gtk/ui/dialog2.ui
new file mode 100644 (file)
index 0000000..a639c2b
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- missing attribute in dialog markup -->
+<interface>
+  <object class="GtkDialog">
+    <child type="action">
+      <object class="GtkButton" id="button_ok">
+        <property name="can-default">True</property>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget>button_ok</action-widget>
+    </action-widgets>
+  </object>
+</interface>
diff --git a/testsuite/gtk/ui/dialog3.expected b/testsuite/gtk/ui/dialog3.expected
new file mode 100644 (file)
index 0000000..a88bc1f
--- /dev/null
@@ -0,0 +1,2 @@
+ERROR: gtk-builder-error-quark 6
+.:10:40 Could not parse enum: `warbl'
diff --git a/testsuite/gtk/ui/dialog3.ui b/testsuite/gtk/ui/dialog3.ui
new file mode 100644 (file)
index 0000000..f715477
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- invalid dialog markup attribute -->
+<interface>
+  <object class="GtkDialog">
+    <child type="action">
+      <object class="GtkButton" id="button_ok">
+        <property name="can-default">True</property>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="warbl">button_ok</action-widget>
+    </action-widgets>
+  </object>
+</interface>
diff --git a/testsuite/gtk/ui/dialog4.expected b/testsuite/gtk/ui/dialog4.expected
new file mode 100644 (file)
index 0000000..763a942
--- /dev/null
@@ -0,0 +1,2 @@
+ERROR: gtk-builder-error-quark 1
+.:10:15 Unsupported tag for GtkDialog: <warbl>
diff --git a/testsuite/gtk/ui/dialog4.ui b/testsuite/gtk/ui/dialog4.ui
new file mode 100644 (file)
index 0000000..f238a09
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- invalid dialog markup element -->
+<interface>
+  <object class="GtkDialog">
+    <child type="action">
+      <object class="GtkButton" id="button_ok">
+        <property name="can-default">True</property>
+      </object>
+    </child>
+    <action-widgets>
+      <warbl/>
+    </action-widgets>
+  </object>
+</interface>
diff --git a/testsuite/gtk/ui/dialog5.expected b/testsuite/gtk/ui/dialog5.expected
new file mode 100644 (file)
index 0000000..027a052
--- /dev/null
@@ -0,0 +1,2 @@
+ERROR: gtk-builder-error-quark 1
+Unhandled tag: <warbl>
diff --git a/testsuite/gtk/ui/dialog5.ui b/testsuite/gtk/ui/dialog5.ui
new file mode 100644 (file)
index 0000000..aa90fd3
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- invalid dialog markup element -->
+<interface>
+  <object class="GtkDialog">
+    <child type="action">
+      <object class="GtkButton" id="button_ok">
+        <property name="can-default">True</property>
+      </object>
+    </child>
+    <action-widgets>
+    </action-widgets>
+    <warbl/>
+  </object>
+</interface>